package com.sumansoul.photodemo.ImageUtils;


import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.request.RequestOptions;
import com.sumansoul.photodemo.R;

public class GlideUtils {


    public static void loadImage(Context context, String url, ImageView imageView) {

        Glide.with(context).applyDefaultRequestOptions(getGlideRequestOptionsIcon())
                .load(url)
                .thumbnail(0.1f)
                .into(imageView);

    }



    public static RequestOptions getGlideRequestOptionsIcon() {
        RequestOptions options = new RequestOptions();
        options.placeholder(R.mipmap.my_default_head);// 正在加载中的图片
        options.error(R.mipmap.my_default_head); // 加载失败的图片
          options.centerCrop();
        options.apply(RequestOptions.bitmapTransform(new CircleCrop()));
        options.diskCacheStrategy(DiskCacheStrategy.NONE); // 磁盘缓存策略
        return options;
    }
    /**
     * 加载默认资源文件
     * @param mContext
     * @param imageurl
     * @param imageView
     */
    public static void loadImg(Context mContext, String imageurl, ImageView imageView) {
        RequestOptions options = new RequestOptions().placeholder(R.mipmap.my_default_head).error(R.mipmap.my_default_head);
        Glide.with(mContext)
                .load(imageurl)
                .apply(options)
                .thumbnail(0.1f)
                .into(imageView);

    }

    /**
     * 加载默认资源文件(没有缓存)
     * @param mContext
     * @param imageurl
     * @param imageView
     */
    public static void loadImgNoCash(Context mContext, String imageurl, ImageView imageView) {
        RequestOptions options = new RequestOptions().placeholder(R.mipmap.my_default_head).error(R.mipmap.my_default_head)
                .transform(new GlideRoundTrans(mContext,10))
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(true);




        Glide.with(mContext)
                .load(imageurl)
                .apply(options)
                .thumbnail(0.1f)
                //设置矩形圆角的角度,现在是10
                .into(imageView);

    }


    /**
     * 加载默认资源文件(没有缓存)
     * @param mContext
     * @param imageurl
     * @param imageView
     */
    public static void loadImgNoCash2(Context mContext, String imageurl, ImageView imageView) {
        RequestOptions options = new RequestOptions().placeholder(R.mipmap.my_default_head).error(R.mipmap.my_default_head)
                .transform(new GlideRoundTrans(mContext,18))
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(true);




        Glide.with(mContext)
                .load(imageurl)
                .apply(options)
                .thumbnail(0.1f)
                //设置矩形圆角的角度,现在是10
                .into(imageView);

    }

    /**
     * (1)
     * 显示图片Imageview
     *
     * @param context  上下文
     * @param url      图片链接
     * @param imgeview 组件
     */
    public static void showImageBoxView(Context context, String url,
                                        ImageView imgeview) {
        RequestOptions options = new RequestOptions().placeholder(R.mipmap.my_default_head).error(R.mipmap.my_default_head)
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(true);


        // 加载图片
        Glide.with(context).load(url)
                .apply(options)
                .thumbnail(0.1f)

                .into(imgeview);




    }


    /**
     * （8）自定义
     * 显示图片 圆角显示  ImageView
     *
     * @param mContext  上下文
     * @param imageurl      图片链接
     * @param imageView 组件
     */
    public static void  showImageViewToCircle(Context mContext,
                                              String imageurl, ImageView imageView) {
        RequestOptions options = new RequestOptions().placeholder(R.mipmap.my_default_head).error(R.mipmap.my_default_head).transform(new GlideCircleTransform());
        Glide.with(mContext)
                .load(imageurl)
                .apply(options)
                .thumbnail(0.1f)
                //圆角
             //   .transform(new GlideCircleTransform())

                .into(imageView);
    }



}
